This invention relates generally to computer systems and to displays on computer display screens. More particularly, the present invention relates to apparatus and methods for modifying a display matrix in a display window in a discrete, stepwise manner.
Windows are often used with computer systems implementing graphical user interfaces (GUIs). Many people find that computers having GUIs are easier to learn and use than comparable computers without GUIs. Computers having GUIs include desktop units, such as the popular Apple.TM. Macintosh.TM. and IBM.TM.-compatible computers, notebooks and subnotebooks, such as the popular Apple.TM. Powerbooks.TM. and IBM.TM. ThinkPads, as well as pen-based computers such as the Apple.TM. Newton.TM.. For ease of understanding and without limiting the scope of the invention, a Power Macintosh.TM. computer system manufactured by Apple.TM. Computer Inc. of Cupertino, Calif. is selected for illustration purposes. However, it should be noted that the discussion below is equally applicable to computers of other makes and models.
FIG. 1 shows a typical prior art GUI screen on a computer screen 10. Computer screen 10 represents the area within which images, texts, and other types of data objects can be displayed and manipulated. On an Apple Power Macintosh, computer screen 10 often includes a desktop image 14 which is produced by a Macintosh operating system. Desktop image 14 often includes a menu bar 18 and a desktop display area 20. Within desktop display area 20, shown are a number of icons 22, 24 and 26 representing different objects. For example, icon 22 represents a hard disk drive, icon 24 represents a "trash can" in which files can be deposited to be deleted, and icon 26 represents a folder entitled "desk stuff," which may contain application programs and files of various types.
Menu bar 18 preferably includes a number of menu labels 28, 30, and 32 for implementing pop down menus, as are well known to Macintosh users. Desktop image 14 also includes a screen cursor shown in the form of an arrow 34. The screen cursor works in cooperation with a pointing device, for example, a trackball, a mouse, a joystick, special keys on a computer keyboard, or the like. As is well known to those of skill in the art, the screen cursor may be moved to different positions on computer screen 10 and may assume different forms.
There is also shown in FIG. 1 a window 16 within desktop image 14. Window 16 represents an instance of a utility program known as Finder.TM., also manufactured by Apple Computer, Inc. of Cupertino, Calif. In a typical GUI environment, there are often multiple windows simultaneously open on computer screen 10, each of which may be an instance of a particular application program. At the top of window 16, shown is a title bar 36. As shown in FIG. 1, title bar 36 identifies the current window as "A Folder." Each window has associated with it a window display area 37 within which information from a data set associated with window 16 may be displayed and manipulated. Optional vertical scroll bar 38 and horizontal scroll bar 40 are preferably located at the vertical and horizontal edges of window 16. Window 16 can be moved around desktop display area 20, preferably by dragging on title bar 36. Window 16 can also be resized, preferably by dragging a size box 42 to expand or contract window 16. Further, window 16 can also be closed, preferably by clicking on a close box 44 in the upper left corner of window 16.
Windows sometimes include information regarding the software currently under use and the current system capacity. In FIG. 1, textual information box 46 in window 16 indicates that there is currently 0 item in "A Folder," 53.2 megabytes of total memory capacity on a disk storage device, of which 9.7 megabytes of memory is available. The functions and use of the aforementioned items, which are typical in a GUI environment, are well known to those familiar with the Apple.TM. Macintosh.TM..
In certain types of display windows, information may be more clearly conveyed to the user and manipulable when displayed in a matrix format. Examples of application programs that display information to the user in a matrix format include spreadsheet programs, e.g. ClarisWorks.TM. by Claris Corp. of Santa Clara, Calif., personal information manager programs, e.g. Claris Organizer.TM., manufactured by the aforementioned Claris Corp., or word processing programs that manipulate text displayed in newspaper column styles.
Often times, a user viewing a display matrix wishes to view one additional column or row of matrix cells. To add an additional column or row of matrix cells to the existing display matrix, a user in the prior art manually increases the size of the display window by dragging on a window size box, thereby displaying more of the display matrix. Manually increasing the size of the display window to view an additional column or row of matrix cells is, however, an inconvenient and indirect way to accomplish what the user really wants, i.e. to add an additional column or row of matrix cells to the existing display matrix. Further, when a display window is already at its maximum size, e.g. occupying the entire computer display screen, it is not possible to further increase the size of the display window to add an additional column or row to the existing display matrix.
Another prior art method permits the user to reduce the size of existing cells to create additional room in the display window to accommodate an additional column or row of matrix cells. The reduction in the size of existing cells is typically accomplished by manually changing the size of existing cells in the display window, e.g. by dragging on an edge of a cell or a group of cells. However, this manual operation is also an inconvenient and indirect way of accomplishing the addition of an additional column or row of matrix cells to the existing display matrix. Further, this prior art method needlessly requires the user to exercise judgment regarding the appropriate cell size. To optimally display the additional column or row of matrix cells in the window matrix display area, a user often has to experiment in a trial-and-error fashion with different cell sizes.
Consequently, what is needed is an improved apparatus and method for modifying a display matrix in a display window in a discrete, stepwise manner. The improved method and apparatus preferably adds or removes a row or column of matrix cells responsive to a user's command, and adjusts the display matrix to accommodate the addition or removal such that cells are displayed in an efficient manner in the matrix display area.